package com.zql.LeetCode;

import com.zql.baseEntity.ListNode;

/**
 * 83. 删除排序链表中的重复元素
 * Created By ShuHua on 2021/8/21.
 */
public class DeleteDuplicates_83 {
    public ListNode deleteDuplicates(ListNode head) {
        //边界条件
        if(head==null||head.next==null) return head;
        //使用cur作为指针，因为是已经排好序的，所以当第一个元素与第二个元素的值相等时，将第一个元素的指针指向第三个元素，如果不相等则将cur指向下一个元素
        ListNode cur = head;
        while (cur.next!=null){
            if(cur.val==cur.next.val){
                cur.next=cur.next.next;
            }else {
                cur =cur.next;
            }
        }
        //这里不能将cur节点return，因为遍历到最后cur指向链表的最后一个节点，它仅代表节点中的一个元素不能代表整个链表。
        //且在while循环中不能直接修改head
        return head;
    }
}
